Computer systems can run computer programs (e.g., “business applications”) to perform various business functions. These business applications (e.g., applications for customer relationship management, human resource management, outsourcing relationship management, field service management, enterprise resource planning (ERP), enterprise content management (ECM), business process management (BPM), product lifecycle management, etc.) may be used to increase productivity, to measure productivity and to perform the business functions accurately.
An aspect of the business applications is the large amounts of data or documents that can be used or generated for each business function in a business process. The documents may contain a large number of document types (e.g., orders, shipping documents, invoices, goods movements, etc.). The data or documents may be stored in a database (e.g., a relational database) and queried, analyzed or further processed by the business applications. The stored documents may be linked together and integrated to provide data integration and end-to-end business data visibility at all points of the business process. Relational data (e.g., document flow or history) describing the relations between various documents may be stored in the relational database.
For example, in the case of sales-related business transactions, individual transactions (e.g., inquiry, quotation, sales order, shipment, invoice, and returns, etc.) may be stored as individual sales documents (SD) in a “documents” or “documents flow” database. The relational data (so-called document flow or history) linking various individual documents may be stored in a database table (e.g., table VBFA) linking various individual documents. An entire chain of sales documents (e.g., inquiry, quotation, sales order, shipment, invoice, and returns, etc.) may create a document flow or history. In such case, the stored relational data may include direct relations between individual documents (e.g., “order leading to shipment,” “shipment leading to invoice,” etc.). Additionally, the stored relational data may include indirect or transitive relations (e.g., “order indirectly leading to invoice,” etc.). The indirect or transitive relations (“redundant data”) can be a large portion (e.g., 50%) of the stored data. In scenarios which involve a large number of documents, the memory requirements for storing the redundant data can be onerous.
Consideration is now being given to data models, and systems and methods for utilizing “document flow” databases, which exclude redundant relational data